﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;
using Cesave.Domain.Core.Specification;
using Cesave.Domain.PermisosModule.Resources;

namespace Cesave.Domain.PermisosModule.Contracts.Afianzadoras
{
    public  class AfianzadorasByJuntaSpecification
        : Specification<Afianzadora>
    {

        private Guid _juntaGuid = default(Guid);

        public AfianzadorasByJuntaSpecification(Guid juntaGuid)
        {
            if (juntaGuid == Guid.Empty)
                throw new ArgumentException(Messages.exception_InvalidArgument, "juntaGuid");

            _juntaGuid = juntaGuid;

        }


        public override System.Linq.Expressions.Expression<Func<Afianzadora, bool>> SatisfiedBy()
        {
            Specification<Afianzadora> _specification = new DirectSpecification<Afianzadora>(a => a.JuntaGuid == _juntaGuid);
            return _specification.SatisfiedBy();
        }
    }
}
